Crear suscripción


Creación

Para crear una suscripción debemos agregar un token en Headers de tipo Authorization con el token necesario, este token deben solicitarse a Domus.
Es importante anotar que los parámetros deben ser enviados a través de algo como form_params o similar, no se deben enviar directamente en la URL.

También debemos tener encuenta que el integrator_id y target_url serán la llave para la suscripción, pues podemos crear el mismo integradores con diferentes endpoints.

Nota: Antes de crear suscripciones consultar la estructura de los eventos.

Ejemplo de uso

{success} POST: /api/webhooks/subscribe


//Ejemplo Bearer

use GuzzleHttp\Client;

$client = new Client();
$res = $client->request("POST", "{$endpoint}/api/webhooks/subscribe", [
    "json" => [
        {
            "target_url": "https://api.cliente.com/webhooks/receiver",
            "integrator_id": 1,
            "events": [1],
            "auth_mode": "bearer",
            "auth_credentials": {
                "token": "sk_live_123456789abcdef"
            }
        }
    ]
]);

$subscription = json_decode($res->getBody(), true);
return $subscription;

//Ejemplo Basic Auth

$client = new Client();
$res = $client->request("POST", "{$endpoint}/api/webhooks/subscribe", [
    "json" => [
        {
            "target_url": "https://erp-antiguo.com/api/listeners",
            "integrator_id": 1,
            "events": [1],
            "auth_mode": "basic",
            "auth_credentials": {
                "username": "admin_sys",
                "password": "superSecretPassword123"
            }
        }
    ]
]);

$subscription = json_decode($res->getBody(), true);
return $subscription;

//Ejemplo Header Authorization
$client = new Client();
$res = $client->request("POST", "{$endpoint}/api/webhooks/subscribe", [
    "json" => [
        {
            "target_url": "https://integrador.com/hook",
            "integrator_id": 1,
            "events": [1],
            "auth_mode": "header",
            "auth_credentials": {
                "key": "Authorization",
                "value": "888-999-000-key"
            }
        }
    ]
]);

$subscription = json_decode($res->getBody(), true);
return $subscription;

Ejemplo de respuesta

{
    "code": 200,
    "message": "Webhook suscrito",
    "data": {
        "integrator_id": 1,
        "target_url": "https://palomma.co/webhooks/receiver",
        "auth_mode": "bearer",
        "updated_at": "2025-12-10T19:14:24.000000Z",
        "created_at": "2025-12-10T19:14:24.000000Z",
        "id": 1
    }
}

Ejemplo de respuesta fallida

{
    "code": 401,
    "message": "Webhook no creado",
    "errors": {
        "webhooks": [
            "Webhook no creado"
        ]
    }
}

Parámetros que recibe

Por Form Params o Json

Estos son los valores requeridos para la creación del usuario

Parámetro Descripción Ejemplo
target_url url de consumo (https://integrador.com/hook)
integrator_id id integrador 1
events ids de los eventos [1]
auth_mode modo de autenticación bearer
auth_credentials objeto con las credenciales []